home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / var / db / pkg / net-wireless / linux-wlan-ng-0.2.3 / linux-wlan-ng-0.2.3.ebuild < prev    next >
Text File  |  2006-03-31  |  4KB  |  173 lines

  1. # Copyright 1999-2005 Gentoo Foundation
  2. # Distributed under the terms of the GNU General Public License v2
  3. # $Header: /var/cvsroot/gentoo-x86/net-wireless/linux-wlan-ng/linux-wlan-ng-0.2.3.ebuild,v 1.2 2005/12/29 18:51:15 blubb Exp $
  4.  
  5. #The configure script needs prepared sources.
  6. inherit linux-mod
  7.  
  8. DESCRIPTION="Programs/files needed for Prism2/2.5/3 based wireless LAN products"
  9. HOMEPAGE="http://linux-wlan.org"
  10. SRC_URI="ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/${P}.tar.bz2"
  11.  
  12. # includes dual licensed files but also stuff only under MPL-1.1
  13. LICENSE="|| ( GPL-2 MPL-1.1 ) MPL-1.1"
  14. SLOT="0"
  15. KEYWORDS="~amd64 ~ppc ~x86"
  16.  
  17. IUSE="debug doc pcmcia"
  18.  
  19. DEPEND="~net-wireless/linux-wlan-ng-modules-${PV}
  20.         ~net-wireless/linux-wlan-ng-utils-0.2.2
  21.         ~net-wireless/linux-wlan-ng-firmware-0.2.2"
  22.  
  23. RDEPEND=${DEPEND}
  24.  
  25. #relative to src/
  26. COMPILE_DIRS="mkmeta wlanctl wland nwepgen wlancfg prism2/download"
  27. INSTALL_DIRS="${COMPILE_DIRS} ../etc"
  28.  
  29. CONFIG_FILE="${S}/default.config"
  30. CONFIG_DIR="/etc/conf.d"
  31.  
  32. show_deprecated_message() {
  33.     if use pci || use plx || use pcmcia; then
  34.         einfo ""
  35.         einfo "You really should try other alternatives for prism support."
  36.         einfo "For example the hostap-driver or orinoco drivers should work"
  37.         einfo "with your wireless card. Support for pci, plx and pcmcia drivers"
  38.         einfo "will most likely be removed in the near future. If the alternatives"
  39.         einfo "don't work for you, please report this to betelgeuse@gentoo.org."
  40.         einfo ""
  41.     fi
  42. }
  43.  
  44. pkg_setup() {
  45.     show_deprecated_message
  46. }
  47.  
  48. config_by_usevar() {
  49.     local config=${3}
  50.     [[ -z ${config} ]] && config=${CONFIG_FILE}
  51.  
  52.     if use ${2}; then
  53.         echo "${1}=y" >> ${config}
  54.     else
  55.         echo "${1}=n" >> ${config}
  56.     fi
  57. }
  58.  
  59. set_option() {
  60.     local config=${3}
  61.     [[ -z ${config} ]] && config=${CONFIG_FILE}
  62.  
  63.     echo "${1}=${2}" >> ${config}
  64. }
  65.  
  66. src_unpack() {
  67.     local config=${CONFIG_FILE}
  68.  
  69.     unpack ${A}
  70.  
  71.     rm ${S}/doc/rh71notes
  72.  
  73.     cd ${S}/etc
  74.     mv rc.wlan rc.wlan.orig
  75.     cp ${FILESDIR}/${PN}-gentoo-init rc.wlan
  76.  
  77.     #IMHO this should not be done but better to not upset users at this point
  78.     sed -i -e "s:/etc/wlan:/etc/conf.d:g" ${S}/etc/wlan/Makefile
  79.     sed -i -e "s:/etc/wlan/wlan.conf:/etc/conf.d/wlan.conf:g" \
  80.            -e "s:/etc/wlan/wlancfg:/etc/conf.d/wlancfg:g" \
  81.         ${S}/etc/wlan/shared
  82.  
  83.     cp ${S}/config.in ${config}
  84.  
  85.     set_option TARGET_ROOT_ON_HOST    ${D}
  86.     set_option LINUX_SRC            ${KERNEL_DIR}
  87.     set_option PRISM2_USB            n
  88.     set_option PRISM2_PCI            n
  89.     set_option PRISM2_PLX            n
  90.     set_option PRISM2_PCMCIA        n
  91.  
  92.     if kernel_is gt 2 4; then
  93.         set_option KERN_25 y
  94.     fi
  95.  
  96.     config_by_usevar WLAN_DEBUG debug
  97. }
  98.  
  99. src_compile() {
  100.     set_arch_to_kernel
  101.     emake default_config || die "emake default_config failed"
  102.     set_arch_to_portage
  103.  
  104.     CONFIG_FILE="config.mk"
  105.  
  106.     set_option         FIRMWARE_DIR  "/lib/firmware"
  107.     config_by_usevar PRISM2_PCMCIA    pcmcia
  108.  
  109.     #For the scripts that go to /etc
  110.     set_option TARGET_PCMCIA_DIR    ${D}/etc/pcmcia
  111.  
  112.     cd ${S}/src/
  113.     for dir in ${COMPILE_DIRS}; do
  114.         pushd ${dir}
  115.         make || die "make in ${dir} failed"
  116.         popd
  117.     done
  118. }
  119.  
  120. src_install() {
  121.     cd ${S}/man
  122.     doman *.1
  123.  
  124.     for dir in ${INSTALL_DIRS}; do
  125.         pushd ${S}/src/${dir}
  126.         make install || die "make install in ${dir} failed"
  127.         popd
  128.     done
  129.  
  130.     cd ${S}
  131.  
  132.     dodir etc/wlan
  133.     mv ${D}/etc/conf.d/shared ${D}/etc/wlan/
  134.  
  135.     if use doc; then
  136.         insinto /usr/share/doc/${PF}/
  137.         pushd ${S}/doc
  138.         for file in $(ls); do
  139.             [[ "${file}" != "Makefile" ]] && doins -r ${file}
  140.         done
  141.         popd
  142.     fi
  143.  
  144.     dodoc CHANGES FAQ README THANKS TODO
  145. }
  146.  
  147. pkg_postinst() {
  148.     einfo "/etc/init.d/wlan is used to control startup and shutdown of non-PCMCIA devices."
  149.     if use pcmcia; then
  150.         einfo "/etc/init.d/pcmcia from pcmcia-cs is used to control startup and shutdown of"
  151.         einfo "PCMCIA devices."
  152.     fi
  153.     einfo ""
  154.     einfo "Modify ${CONFIG_DIR}/wlan.conf to set global parameters."
  155.     einfo "Modify ${CONFIG_DIR}/wlancfg-* to set individual card parameters."
  156.     einfo "There are detailed instructions in these config files."
  157.     einfo ""
  158.     einfo "Three keygen programs are included: nwepgen, keygen, and lwepgen."
  159.     einfo "keygen seems provide more usable keys at the moment."
  160.     einfo "You can change the keygen in your wlancfg-* files."
  161.     einfo ""
  162.     einfo "Be sure to add iface_wlan0 parameters to /etc/conf.d/net."
  163.     einfo ""
  164.     if use pcmcia; then
  165.         ewarn "Wireless cards which you want to use drivers other than wlan-ng for"
  166.         ewarn "need to have the appropriate line removed from /etc/pcmcia/wlan-ng.conf"
  167.         ewarn "Do 'cardctl info' to see the manufacturer ID and remove the corresponding"
  168.         ewarn "line from that file."
  169.     fi
  170.     show_deprecated_message
  171. }
  172.  
  173.